# Presented By ZhaoEnxing
# time: 2021/10/20 10:09
# 某工厂要估计一批总数5000件的产品的废品率,于是随机抽出400件产品进行检测,发现有32件废品。
# 试给出该批产品的废品率的区间估计(置信度是90%）。
# 解:n=400，N=5 000，样本废品率P=32/400=8%。置信度1-a=90%，a=10%，a/2=5%。
# 由于np=400×8%=32>5，属于大样本场合，这时候，临界值可查标准正态分布表得到。
from scipy import stats
from scipy.stats import norm
import pandas as pd
alpha = 0.1
P=0.08
N=5000
n=400
df = 400
tci = -norm.ppf(alpha/2)      # 查临界值对应标准正太分布表
print(tci)
a=((P*(1-P))/n)**0.5
b=((N-n)/(N-1))**0.5
print(a)
print(b)
c=a*b
print(c)
p1 = P+tci*c
p2 = P-tci*c
print("这波产品的废品率在{}与{}之间".format(p1,p2))

